package Controller.Actions.Search;

import Controller.*;
import java.io.*;
import java.net.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import Model.Beans.Results.*;
import Model.Beans.*;
import Model.QBE.*;

public class SearchClassroomScheduleAction implements Action {
    
    private String name;
    
    public SearchClassroomScheduleAction() 
    {
        this.name = "SearchClassroomSchedule";
    }
    
    public String getName()
    {
        return name;
    }
    
    public void perform(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException
    {
        response.setContentType("text/xml");
        response.setHeader("Cache-Control", "no-cache");
        String id = request.getParameter("classroom_id");
        
        //Model que se encargara de buscar en la tabla cursos
        CourseModel cmodel = new CourseModel();
        ClassroomModel clmodel =new ClassroomModel();
        
        //Resultado que vamos a regresar
        ClassRoomList result = new ClassRoomList();
        Classroom_Course finalresult = new Classroom_Course();
        
        
        //Anadimos el classroom al resultado
        finalresult.setClassroom(clmodel.search_by_id(id));
        
        //Creamos un curso temporal, que servira para el QBE engine.
        Course tmp = new Course();
        //creamos un salon temporal que solo contenga el id del salon
        ClassRoom croom = new ClassRoom();
        croom.setId(Integer.parseInt(id));
        
        //relacionamos el salon con el curso.
        tmp.setClassRoom(croom);
        //Creamos una lista de resultados
        CourseList list = new CourseList();
        //Hacemos la busqueda
        list = cmodel.search(tmp);
        
        //Asignamos los cursos al resultado
        finalresult.setCourses(list.getCourses());
        
        response.getWriter().write(finalresult.toXML());
    }
}
